// src/router/index.ts
import nProgress from 'nprogress';

import { createRouter, createWebHashHistory, createWebHistory, RouteRecordRaw } from 'vue-router';
import routes from './routes';

// 引入增强的文件 (内部没有暴露，所以这边直接导入增强的文件即可)
// import './extendRoute'

const router = createRouter({
    //   history: createWebHashHistory(), // history 模式则使用 createWebHistory()
    history: createWebHistory(), // history 模式则使用 createWebHistory()
    routes,
    // scrollBehavior 用来处理浏览器的滚动行为
    // to: 去哪儿，即将要跳转到的那一个路由的信息，当前的页面的路由
    // from：从哪来，即将要离开的那一个路由的信息，上一个页面路由的信息
    // savedPosition：只有点击浏览器的前进、后台，才有值，否则就是 null
    // 指页面被卷去的距离，距离顶部的距离
    // @ts-ignore
    scrollBehavior(to, from, savedPosition) {
        // console.log(to)
        // console.log(from)
        // console.log(savedPosition)

        // 内部，通过 return 告诉浏览器需要滚动到哪一个位置
        if (savedPosition) {
            return savedPosition
        } else {
            return { x: 0, y: 0 }
        }

        // 如果想点击链接、点击浏览器的回退按钮、点击浏览器的前进按钮都想回到顶部
        // return { x: 0, y: 0 }
    }
});




export default router;